// 给定一个只包括 '('，')'，'{'，'}'，'['，']' 的字符串 s ，判断字符串是否有效。
var isValid = function (s) {
  // 方式一 使用对象或者是map数据结构
  // let map = {
  //   ')': '(',
  //   ']': '[',
  //   '}': '{',
  // }
  // let stack = []
  // for (var i of s) {
  //   if (!map[i]) {
  //     stack.push(i)
  //   } else {
  //     if (stack.length == 0) return false
  //     if (stack.pop() != map[i]) return false
  //   }
  // }
  // return stack.length == 0
  // 方式二 使用正则表达式
  let reg = /(\(\)|\{\}|\[\])/g
  while (s.match(reg)) {
    s = s.replace(reg, '')
  }
  return s.length == 0
}
console.log(isValid('([]{})'));
let map = new Map([['}', '{'], [')', '('], [']', '[']])
console.log(map);
